#!/bin/bash

# libexif-0.6.24 编译安装主脚本
# 支持 GCC 和 riscv64-anyka-linux-musl-gcc 两种编译方式

# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color

echo -e "${BLUE}===============================================${NC}"
echo -e "${BLUE}    libexif-0.6.24 编译安装脚本${NC}"
echo -e "${BLUE}===============================================${NC}"

show_usage() {
    echo -e "${YELLOW}用法:${NC}"
    echo -e "  $0 gcc          # 使用 GCC 编译安装"
    echo -e "  $0 riscv64      # 使用 riscv64-anyka-linux-musl-gcc 交叉编译安装"
    echo -e "  $0 all          # 同时使用两种编译器编译安装"
    echo -e "  $0 clean        # 清理编译文件"
    echo -e "  $0 help         # 显示帮助信息"
}

clean_builds() {
    echo -e "${YELLOW}清理编译文件...${NC}"
    rm -rf build_gcc build_riscv64
    echo -e "${GREEN}清理完成${NC}"
}

# 获取当前脚本所在目录
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

case "$1" in
    "gcc")
        echo -e "${GREEN}开始使用 GCC 编译安装...${NC}"
        "${SCRIPT_DIR}/install_libexif_gcc.sh"
        ;;
    "riscv64")
        echo -e "${GREEN}开始使用 riscv64-anyka-linux-musl-gcc 交叉编译安装...${NC}"
        "${SCRIPT_DIR}/install_libexif_riscv64.sh"
        ;;
    "all")
        echo -e "${GREEN}开始使用 GCC 编译安装...${NC}"
        "${SCRIPT_DIR}/install_libexif_gcc.sh"
        echo ""
        echo -e "${GREEN}开始使用 riscv64-anyka-linux-musl-gcc 交叉编译安装...${NC}"
        "${SCRIPT_DIR}/install_libexif_riscv64.sh"
        ;;
    "clean")
        clean_builds
        ;;
    "help"|"--help"|"-h")
        show_usage
        ;;
    "")
        echo -e "${RED}错误: 请指定编译类型${NC}"
        show_usage
        exit 1
        ;;
    *)
        echo -e "${RED}错误: 未知参数 '$1'${NC}"
        show_usage
        exit 1
        ;;
esac

echo -e "${BLUE}===============================================${NC}"
echo -e "${GREEN}操作完成!${NC}"
echo -e "${BLUE}===============================================${NC}"